package com.dzl.moive.dao;

import com.dzl.base.mapper.BaseMapper;
import com.dzl.moive.pojo.WelfareMovieOrder;
import com.dzl.moive.pojo.query.WelfareMovieOrderListQuery;
import com.dzl.moive.pojo.vo.WelfareMovieOrderInfoVo;
import com.dzl.moive.pojo.vo.WelfareMovieOrderListVo;
import com.dzl.moive.pojo.vo.WelfareMovieOrderVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 电影订单(welfare_movie_order)表数据库访问层
 * @author liuguanjun
 * @date 2021-11-02 11:05:25
 */
public interface WelfareMovieOrderMapper extends BaseMapper<WelfareMovieOrder> {

    /**
     * 电影订单流水顶部状态栏数量
     * @date 2021/11/5 10:39
     * @author caobucao
     * @param query 查询条件
     * @return java.util.List<java.lang.Integer>
     */
    //List<Integer> getMovieOrderFlowCountState(WelfareMovieOrderFlowQuery query);

    /**
     * 分页查询电影订单列表
     * @date 2021/11/06 10:15
     * @author liuguanjun
     * @param userId 用户id
     */
    List<WelfareMovieOrderVo> selectMovieOrderVoList(@Param("userId") Integer userId);

    /**
     * 电影订单流水顶部状态栏数量
     * @date 2021/11/5 10:39
     * @author caobucao
     * @param query 查询条件
     * @return java.util.List<java.lang.Integer>
     */
    List<Integer> getMovieOrderCount(WelfareMovieOrderListQuery query);

    /**
     * 分页查询电影订单列表
     * @date 2021/11/06 10:15
     * @author ChenLong
     * @param query 查询条件
     */
    List<WelfareMovieOrderListVo> getMovieOrderVoPage(WelfareMovieOrderListQuery query);

    /**
     * 查询15分钟内未支付订单
     * @date 2021/11/05 17:44
     * @author liuguanjun
     */
    List<WelfareMovieOrder> selectUnpaidMovieOrder();

    /**
     * 分页查询电影订单流水
     * @date 2021/11/4 15:44
     * @author caobucao
     * @param query 查询条件
     * @return java.util.List<com.dzl.moive.pojo.vo.WelfareMovieOrderFlowVo>
     */
    //List<WelfareMovieOrderFlowVo> getMovieOrderFlowVoPage(WelfareMovieOrderFlowQuery query);

    /**
     * 通过选中id查询电影订单流水
     * @date 2021/11/5 10:50
     * @author caobucao
     * @param idList idList
     * @return java.util.List<com.dzl.moive.pojo.vo.WelfareMovieOrderFlowVo>
     */
    //List<WelfareMovieOrderFlowVo> getMovieOrderFlowVoByIds(@Param("idList") List<Integer> idList);

    /**
     * 获取订单详细信息
     * @author ChenLong
     * @date 2021-11-09 09:21:34
     * @param id 订单ID
     * @return com.dzl.moive.pojo.vo.WelfareMovieOrderInfoVo
     **/
    WelfareMovieOrderInfoVo getMovieOrderById(Integer id);

}

